namespace Digitalmes.Application.Constants;

/// <summary>
/// 系统配置关键 Key。
/// </summary>
internal static class ConfigKeys
{
    /// <summary>
    /// 是否允许工单自动完工，结果：Y=>true，N=>false，未设置默认为 false。
    /// </summary>
    public static string AllowWorkorderAutoCompleted = "allow_workorder_auto_completed";

    /// <summary>
    /// 工单自动完工时，只在实际良品数量等于计划数量时才算完工，不包含不良品和报废品，结果：Y=>true，N=>false，未设置默认为 false。
    /// </summary>
    public static string AllowWorkorderAutoCompletedWhenMeetGoodQty = "allow_workorder_auto_completed_when_meet_goodqty";

    /// <summary>
    /// 条码规则是否要完整匹配，结果：Y=>true，N=>false，未设置默认为 false。
    /// </summary>
    public static string AllowBarcodeRuleNotWholeMatched = "allow_barcode_rule_not_whole_matched";

    /// <summary>
    /// 是否允许从非首站上线，结果：Y=>true，N=>false，未设置默认为 false。
    /// </summary>
    public static string AllowStartedNotInFirst = "allow_started_not_in_first";

    /// <summary>
    /// 是否允许通过配置提取零件码中的产品编号，结果：Y=>true，N=>false，未设置默认为 false。
    /// </summary>
    public static string AllowExtractProductCodeViaSn = "allow_extract_product_code_via_sn";

    /// <summary>
    /// 条码规则占位符，若是多个字符，取第一个。
    /// </summary>
    public static string RuleBarcodePlaceholder = "rule_barcode_placeholder";

    /// <summary>
    /// 零件码中产品编码规则，通过规则可以从零件码中提取产品编码，格式：[起始位置]-[长度]，其中起始位置从 0 开始。
    /// 例如：0-6;
    /// </summary>
    public static string RuleExtractProductCodeViaSn = "rule_extract_product_code_via_sn";

    /// <summary>
    /// 是否允许推送数据到远端服务，结果：Y=>true，N=>false，未设置默认为 false。
    /// </summary>
    public static string AllowSynchronousToRemote = "allow_synchronous_to_remote";

    /// <summary>
    /// 推送数据到远端服务的模式，Mark=>标记待推送，Realtime=>实时推送，Completed=>完工下线后推送。
    /// </summary>
    public static string SynchronousToRemoteMode = "synchronous_to_remote_mode";
}
